#ifndef __SPRIALMATRIX_H__
#define __SPRIALMATRIX_H__

#include <vector>
using namespace std;

/*
* leetcode 59 螺旋矩阵
* 
* 给你一个正整数 n, 生成一个包含 1 到 n^2 所有元素
* 且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 
*/

//这道题目没有具体算法, 主要考验代码掌控能力
//使用深度优先遍历, 完成对矩阵赋值
void Dfs(vector<vector<int>>& matrix, int i, int j, int n) {
	if (i >= matrix.size() || j >= matrix.size() || matrix[i][j] != 0)
		return;

	matrix[i][j] = n;
	Dfs(matrix, i, j + 1, n + 1);
	Dfs(matrix, i + 1, j, n + 1);
	Dfs(matrix, i, j - 1, n + 1);
	Dfs(matrix, i - 1, j, n + 1);
}

#endif // !__SPRIALMATRIX_H__

